<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Event Manual</title>
        <style>
        	#event_manual {margin: 2em;}
        	#event_manual h1, h2, h3 {font-family: Georgia, "Times New Roman", Times, serif; padding-bottom: 1em; padding-top: 1em; line-height: 1.7em; font-weight: bold;}
        	#event_manual h1 {text-align: center; font-size: 1.5em; font-variant: small caps; color: #336699;}
        	#event_manual h2 {font-size: 1.250em; color: #6699CC;}
        	#event_manual h3 {font-size: 1.1em; color: #6699FF;}
        	#event_manual p {font-size: .9em; margin: 0; padding: 5px;}
        	#event_manual ul li {list-style-type: square; margin-left: 20px; line-height: 1.5em; font-weight: bolder; }
        	#event_manual ul li ul li {list-style-type: disc; margin-left: 30px; font-weight: normal; }
        	#event_footer {border: 1px dotted; margin: 2em auto; padding: 0 1em 2em; --moz-border-radius: 1.5em; -webkit-border-radius: 1.5em; border-radius: 1.5em;}
        	#event_footer h2 {padding: .5em 0 0;}
        	#event_footer p {font-family: Georgia, "Times New Roman", Times, serif; font-size: 1em; }
        	#event_manual a, #event_manual a:visited {color: #336699}
        	#event_manual a:hover {color: #336699; text-decoration: underline;}
        	#icms-uptopmessage a {display: block; display: none; z-index: 999; opacity: .9; position: fixed; top: 100%; margin-top: -80px; left: 50%; margin-left: -160px;
							border-radius: 24px; -moz-border-radius: 24px; -webkit-border-radius: 24px; -o-border-radius: 24px; -khtml-border-radius:24px; -icab-border-radius:24px; -ms-border-radius:24px;
							width: 300px; line-height: 48px; height: 48px; padding: 10px; background-color: #000; font-size: 24px; text-align: center; color: #fff;}
			#credit {font-weight: bold;color: #336699;}
			div.icmsCode, div.xoopsCode, div.tip, div.icmsCodeHtml {position: relative; margin-bottom: 1.5em; border: none; padding: 1em 1em 0.25em 58px; margin: 1em auto 1.5em auto; width: 75%; border-radius: 10px;
							-moz-border-radius: 10px;-o-border-radius: 10px; -webkit-border-radius: 10px; -khtml-border-radius: 10px; -ms-border-radius: 10px;}
			div.icmsCode, div.xoopsCode p, div.tip p, .icmsCodePhp p {margin-bottom: 1em;}
			div.tip { background: #d5e9f6 url(../images/alert.png) no-repeat 10px 10px;}
			div.icmsCode, div.xoopsCode,  div.icmsCodeHtml { background: #d5e9f6 url(../images/code.png) no-repeat 10px 10px; display: block; overflow : auto; text-align : left;
							font : 500 1em/1.5em "Lucida Console", "Courier New", monospace; border : 1px solid #EEE8E1;}
        </style>
    </head>
    <body>
    	<div id="top">&nbsp;</div>
    	<div id="event_manual">
	        <h1>Event Manual</h1>
	        	<p>Event is a simple event-handling module for ImpressCMS which can also display some public rss calendars</p>
	        <h2 id="index">Index</h2>
	        <ul>
	        	<li><a href="#keyfeatures">Keyfeatures</a></li>
	        	<li><a href="#firsstart">First Start</a>
	        		<ul>
	        			<li><a href="#preferences">Preferences</a></li>
	        			<li><a href="#fillup">Fill up your Calendar</a></li>
	        			<li><a href="#gcal">Google Calendars in Event</a></li>
	        			<li><a href="#date_format">Date Format in Event Module</a></li>
	        		</ul>
	        	</li>
	        	<li><a href="#blocks">Module Blocks</a></li>
	        	<li><a href="#templates">Templates</a></li>
	        	<li><a href="#profile">"Event" Module playing together with "profile" Module</a></li>
	        	<li><a href="#event_footer">Conclusion</a></li>
	        </ul>
	        <h2 id="keyfeatures">Keyfeatures</h2>
				<ul>
					<li>Create fast and simple an event and categorize them using different categories/colors</li>
					<li>Categories are using the group permissions of ImpressCMS to allow different Groups to view categories and it's Events</li>
					<li>Categories have a group permission for submitting new Events to handle Groups and different submit permissions</li>
					<li>Import public calendars simple by using RSS-Feeds (e.g. public google calendars)</li>
				</ul>
	        <h2 id="firsstart">First Start</h2>
	        <h3 id="preferences">Preferences</h3>
		        <p>The Module Preferences are short and simple:</p>
		        <ul>
		        	<li>Default View
		        		<ul>
		        			<li>The default view defines, which of the available views will be active, if you are calling the module. "Month" will display the current month, "Weekend" displays the current Week and
		        				"Day" the current Day</li>
		        		</ul>
		        	</li>
		        	<li>The first Day displayed in week view
		        		<ul>
		        			<li>Select, if the Monday should be the first day of a week or Sunday</li>
		        		</ul>
		        	</li>
		        	<li>Display Weekend
		        		<ul>
		        			<li>Select, the weekend need to be displayed or even not</li>
		        		</ul>
		        	</li>
		        	<li>Start time of the calendar
		        		<ul>
		        			<li>The start time means the time to be see at first. If the calendar is scaled (dependent on the theme you're using) you'll not see all hours.
		        				 So the calendar will start at the predefined hour here. It will be possible to scroll up to the other hours</li>
		        		</ul>
		        	</li>
		        	<li>Min time for week/single day view.
		        		<ul>
		        			<li>Here you can change the minimum visible hour. E.g. set to 6 o'clock, all hours before won't be visible in the calendar. If you set an Event before this time, you just can see in month view</li>
		        		</ul>
		        	</li>
		        	<li>Max time for week/single day view.
		        		<ul>
		        			<li>The latest visible hour.</li>
		        		</ul>
		        	</li>
		        	<li>Slot minutes in Agenda view
		        		<ul>
		        			<li>The slot minutes to split an hour in week and day view</li>
		        		</ul>
		        	</li>
		        	<li>The following Date formats can be handled together:
		        		<ul>
		        			<li>Handle Date and Time formatting for calendars output. Form more informations check <a href="#date_format" title="Date Format">Date Format in Event Module</a> </li>
		        		</ul>
		        	</li>
		        	<li>Use the UI Theme
		        		<ul>
		        			<li>As default, the calendar is styled by default ui theme included to core. To change the style you have two possibilities:
		        				<ul>
		        					<li>Search for another theme on jQuery UI Homepage (this will change all ui styles on the website or check out ui theme roller)</li>
		        					<li>Turn UI Theme here off and design your custom design. This can also be done while ui-theme is enabled but it isn't that easies to design with ui theme in background</li>
		        				</ul>
		        			</li>
		        		</ul>
		        	</li>
		        	<li>Use a checkbox-Form to select, which Categories/Calendars should be loaded?
		        		<ul>
		        			<li>The module supports a checkbox form, to select, which calendars currently should be displayed. Just check/uncheck all calendars to be loaded. Currently this does not properly work in other browsers than FF..!</li>
		        		</ul>
		        	</li>
		        	<li>Print footer
		        		<ul>
		        			<li>Add a custom footer to print layout</li>
		        		</ul>
		        	</li>
		        	<li>Print logo
		        		<ul>
		        			<li>Add a custom logo to print layout. The path needs to be as default. 'themes/iTheme/img/logo.png'. From root path of your ImpressCMS Install to the logo.</li>
		        		</ul>
		        	</li>
		        	<li>Profile Module Settings
		        		<ul>
		        			<li>The following both fields require profile module to be installed. If Profile Module is available, you can add a "birthday" field to your user profiles. Let's call it "birthday" here in example, but
		        			 you can call it however you like. So, go to profile module and add a new field with type "date" and give a field name (Identifier) "birthday" and Caption "Your Birthday". If you like, set as required and a step for registration or even 
		        			 let it not required. Doesn't matter. If the user has added his birthday, event module can add the birthdays itself to events. Just enter the given name (Identifier, NOT Caption!) here in Birthday Field and select the Category. 
		        			 If your added category is not present in the list, please make an update of the module. ImpressCMS does not catch the full list of categories without updating the module!
		        			 If the profile Module is installed and available, the module checks (using Auto Tasks) in a given frequenzy for new user birthdays. As default I set up all 6 hours. If you don't need or just need once per day go to autotasks and disable 
		        			 or change the frequency as needed. All done? Well, now the module checks all time for birthday events in the current and the following year.</li>
		        		</ul>
		        	</li>
		        </ul>
	        <h3 id="fillup">Fill up your calendar</h3>
		        <p>The forms of the event module should all be small and simple enough. Just a few words around before you start up:</p>
		        <ul>
		        	<li>The Calendar Tab is <b>ONLY</b> necessary, if you like to render calendars via json feed, like Google Calendar. 
		        		To read about Howto of adding Google Calendars go to <a href="#gcal" title="Google Calendars in Event">Google Calendars in Event</a> </li>
		        	<li>The categories are used to define different colors/Text colors for Events to make it easier, to find the searched kind of Element. Google calendars are using the same feature. 
		        		For Categories it is possible to set submit and view permissions. All allowed "view"-groups can view the events inside the category. The "submit"- Groups can submit events to the category</li>
		        	<li>The Events have a field for contact person. As default, you'll find your account name and email inside their fields. If the contact name is another user and you type in the username, 
		        		you'll get the user with avatar. Otherwise type in the Name and the E-Mail. If the email is registred to gravatar, you should see the avatar for this E-Mail. E-Mail Adresses are visible for registred users, not for guests.
		        		 </li>
		        </ul>
	        
        	<h3 id="gcal">Google Calendars in Event</h3>
	        	<p>The Event Module has the possibility to add public google calendars to your Website calendar. Before adding calendars, check the following:</p>
	        	<ul>
	        		<li>You must first make your Google Calendar public or create a new calendar, which can made public
	        			<ul>
	        				<li>If you go to your google calendar, you'll find your calendars on the left side</li>
	        				<li>Click to the Arrow on the right side next to the calendar you want to share and click on "Share Calendar"</li>
	        				<li>Make sure "Share only my free/busy information" is unchecked. The calendar needs only to show data. Changings through event module or adding events is currently not possible.</li>
	        				<li>Click next on calendar preferences (of the shared calendar) and check for the url. In the currently opened Setting box you'll find the Address of the calendar</li>
	        				<li>Click on the <img src="../images/xml.gif" alt="XML" /> Button to get the URL you need to add the calendar in your "Calendar" Tab in Event module. </li>
	        				<li>Check out the Time-Zone Settings on the same Page. The time zone need to be set in your Calendar, when you're adding your Google Calendar. Examples for time-Zones are: 
	        					"Europe/Berlin", "America/Chicago", "America/Santo_Domingo", "Europe/London" and a lot of more. 
	        					 Check out <a href="http://php.net/manual/en/timezones.php" rel="external" target="_blank" title="PHP.net">PHP.net Timezones</a>, if you don't know the needed Timezone</li>
	        				<div class="tip">
	        					There are a lot of useful public calendars you can use in gougle groups. For Example you might like to add Weeknumbers or Holiday.
	        					<div class="icmsCode">
	        						<p>https://www.google.com/calendar/feeds/de.german%23holiday%40group.v.calendar.google.com/public/basic for (german) holidays</p>
	        						<p>https://www.google.com/calendar/feeds/e_2_de%23weeknum%40group.v.calendar.google.com/public/basic for week numbers</p>
	        					</div>
	        				</div>
	        			</ul>
	        		</li>
	        	</ul>
        	<h3 id="date_format">Date Format in Event Module</h3>
        		<p>Now let's check the Date Preferences for Header and Column. At first let's get sure, we're talking about the same:</p>
        		<p><a class'img_link' href="../images/manual_header.png" title="Header and Column" rel="lightbox"><img class="manual_img" src="../images/manual_header.png" width="330px" height="50px" alt="manual_header" /></a> </p>
				For Both cases use the following possibilities to adjust the Header and/or Column as you like it:
				<ul>
					<li><strong>s</strong> - seconds</li>
					<li><strong>ss</strong> - seconds, 2 digits</li>
					<li><strong>m</strong> - minutes</li>
					<li><strong>mm</strong> - minutes, 2 digits</li>
					<li><strong>h</strong> - hours, 12-hour format</li>
					<li><strong>hh</strong> - hours, 12-hour format, 2 digits</li>
					<li><strong>H</strong> - hours, 24-hour format</li>
					<li><strong>HH</strong> - hours, 24-hour format, 2 digits</li>
					<li><strong>d</strong> - date number</li>
					<li><strong>dd</strong> - date number, 2 digits</li>
					<li><strong>ddd</strong> - date name, short</li>
					<li><strong>dddd</strong> - date name, full</li>
					<li><strong>M</strong> - month number</li>
					<li><strong>MM</strong> - month number, 2 digits</li>
					<li><strong>MMM</strong> - month name, short</li>
					<li><strong>MMMM</strong> - month name, full</li>
					<li><strong>yy</strong> - year, 2 digits</li>
					<li><strong>yyyy</strong> - year, 4 digits</li>
					<li><strong>t</strong> - 'a' or 'p'</li>
					<li><strong>tt</strong> - 'am' or 'pm'</li>
					<li><strong>T</strong> - 'A' or 'P'</li>
					<li><strong>TT</strong> - 'AM' or 'PM'</li>
					<li><strong>u</strong> - ISO8601 format</li>
					<li><strong>S</strong> - 'st', 'nd', 'rd', 'th' for the date</li>
				</ul>
				<p>And some special Characters:</p>
					<dl>
						<dt><code>'...'</code></dt>
						<dd>literal text</dd>
						<dt><code>''</code></dt>
						<dd>single quote (represented by two single quotes)</dd>
						<dt><code>(...)</code></dt>
						<dd>only displays format if one of the enclosed variables is non-zero</dd>
					</dl>
			
			<h2 id="blocks">Module Blocks</h2>
				<p>Currently the module comes up with 4 Blocks:</p>
				<ul>
					<li>Mini Calendar Block
						<ul>
							<li>The block is as simple as possible: it just shows a small month calendar. All Days are linked to the Agenda Day view, to make it as easy as possible to go from anywhere to a special day in Event calendar.
								 The calendar has no more options to set (yet) and if you like to adjust it: The mini calendar is using the 
								 <a href="http://jqueryui.com/demos/datepicker/#default" title="jQuery UI Datepicker" rel="external" target="_blank">jQuery UI Datepicker</a>, if
								 you need a reference, how to adjust the calendar</li>
						</ul>
					</li>
					<li>Event List
						<ul>
							<li>This block shows just a simple Event List, linked to the calendar. You can select the category to be displayed and the time range. So for examle select no category and time range "current month" 
								and you'll get a list with all events of the current month. The foloowing time ranges are available yet:
								<ul>
									<li><strong>Current Day:</strong> Display all Events of the current Day</li>
									<li><strong>Day:</strong> Display all Events in 24hours</li>
									<li><strong>Current Week:</strong> Display all Events of the current Week</li>
									<li><strong>Week:</strong> Display all Events for one week</li>
									<li><strong>Current Month:</strong> Display all Events of the current Month</li>
									<li><strong>Month:</strong> Display all Events for one month </li>
								</ul>
							</li>
						</ul>
					</li>
					<li>Event Filter
						<ul>
							<li>This block shows just a simple Event List, the same as "Event List" . You can select the category to be displayed and check some additional filters. So for examle select no category and apply 
								the other filters. Now you should see in the block on front end a form inside the block. If a category is selected, there's no category filter. Otherwise you get a select box for categories, too. 
								If you change the start or end-range or select inside any other filter, the block will be updated automatically. Current Filters:
								<ul>
									<li><strong>Start:</strong> Display all Events which are starting on this day or later.</li>
									<li><strong>End:</strong> Display all Events which are starting on this day or earlier.</li>
									<li><strong>Category:</strong>If no category has been selected, you get a select box. otherwise the block is searching only in the pre-selected category</li>
									<li><strong>Postal Code:</strong> Display all Events for this postal code</li>
									<li><strong>City:</strong> Display all Events for this city</li>
								</ul>
							</li>
						</ul>
					</li>
					<li>Category/Calendar List
						<ul>
							<li>This Block just returns the legend of calendars/categories with a link to the requested category/calendar. Clicking the link, just this category will be displayed.</li>
						</ul>
					</li>
				</ul>
        	<h2 id="templates">Templates</h2>
        	<p>There're just a few templates available:</p>
        	<ul>
        		<li>/event_admin.html
        			<ul>
        				<li>contains all necessary variables to display admin-side. Less informations enough, and I think, most people will never use this template for changes ;-)</li>
        			</ul>
        		</li>
        		<li>/event_requirements.html
        			<ul>
        				<li>The same: only an admin template and will only be used, if the requirements check failed on installation.</li>
        			</ul>
        		</li>
        		<li>/event_header.html &amp; /event_footer.html
        			<ul>
        				<li>Header and footer holding additional informations like RSS-Feeds, Header informations, comment loop, notifications</li>
        			</ul>
        		</li>
        		<li>/event_index.html
        			<ul>
        				<li>Currently displays the calendar and whatever needed for</li>
        			</ul>
        		</li>
        		<li>/event_event.html
        			<ul>
        				<li>Dipsplaying full event Informations for a single event</li>
        			</ul>
        		</li>
        		<li>/event_calconf.html
        			<ul>
        				<li>Is holding the calendar jquery configuration of the calendar</li>
        			</ul>
        		</li>
        	</ul>
        	<h2 id="profile">"Event" Module playing together with "profile" Module</h2>
        	<p>The module can/will play together with profile Module. As you have recognized in <a href="#preferences">Preferences</a> the module can feth users birthdays from User Profiles and add them as an Event into your calendar. 
        		This can be done for the current year and the next year.</p>
        	<p>But it will do some more. If you allow users to join Events, they can see, which of their Friends are joining, too. This is using the profile friendship handler to get the frieds of the current user.</p>
        	
        	<div id="event_footer">
				<h2>Conclusion</h2>
				<p>Thank you for using 'Event' Module. If you have some trouble while using 'Event' Module, please visit 
					<a href="http://community.impresscms.org/modules/newbb/viewforum.php?forum=9" title="ImpressCMS Community Forum" rel="external">
						ImpressCMS Community Forum
					</a>
					. You have some suggestions, what you'd like to change or add to the module? No problem! We can talk about. Please, use also 
					<a href="http://community.impresscms.org/modules/newbb/viewforum.php?forum=9" title="ImpressCMS Community Forum" rel="external">
						ImpressCMS Community Forum
					</a> 
					for this!
				</p>  
				<p>You might also like to follow the recent changes in 'Event' Module? Please, have a look at 
					<a href="https://impresscmsdev.assembla.com/code/impresscmsaddons/subversion/nodes/modules/menu/trunk/" title="'Event' SVN on Assembla" rel="external">
						'Event' SVN on Assembla
					</a> 
					or make a checkout of my
					<a href="http://code.google.com/p/amaryllis-modules/" title="Menu" rel="external">
						module svn on google code
					</a>.
				</p>
			</div>
        </div>
        
        <div id="icms-uptopmessage"><a href="#top">back top</a></div>
        
        <div id="credit">
			<p class="copyright">
				<script type="text/javascript" language="JavaScript">
					DatumAktuell = new Date(); JahrAktuell = DatumAktuell.getFullYear();
					document.write("| &copy; 2011-"+ JahrAktuell + " "); 
				</script>
				<a href="http://code.google.com/p/amaryllis-modules/" title="Amaryllis Modules" target="_blank" rel="external">Amaryllis Modules</a> |
				<a href="print.php?print=manual" target="_blank" rel="external"><img src="../images/print.png" alt="print" /></a>
			</p>
		</div>
        
        <!-- script for uptop-link -->
		<script type="text/javascript">
			$(function () { // run this code on page load (AKA DOM load)
	 
				/* set variables locally for increased performance */
				var scroll_timer;
				var displayed = false;
				var $message = $('#icms-uptopmessage a');
				var $window = $(window);
				var top = $(document.body).children(0).position().top;
	 
				/* react to scroll event on window */
				$window.scroll(function () {
					window.clearTimeout(scroll_timer);
					scroll_timer = window.setTimeout(function () { // use a timer for performance
						if($window.scrollTop() <= top) // hide if at the top of the page
							{
							displayed = false;
							$message.fadeOut(500);
							}
						else if(displayed == false) // show if scrolling down
							{
							displayed = true;
							$message.stop(true, true).show().click(function () { $message.fadeOut(500); });
							}
					}, 100);
				});
			});
		</script>
	</body>
</html>